Private Sub txtOnlyInteger_KeyPress(ByVal sender As Object, _
                ByVal e As System.Windows.Forms.KeyPressEventArgs) _
                Handles txtOnlyInteger.KeyPress
 
        ' Accetto solo l'immissione di numeri interi
 
        ' Recupero il codice ascii del tasto digitato
        ' il tasto digitato è memorizzato nella proprietà "KeyChar"
        ' dell'oggetto System.Windows.Forms.KeyPressEventArgs
        Dim KeyAscii As Short = Asc(e.KeyChar)
 
        ' I numeri interi hanno il codice ascii compreso tra
        ' 48 e 57. Devo comunque fare in modo che l'utente
        ' sia in grado di digitare anche il tasto BackSpace
        ' (ascii=8) e il tasto Canc (ascii=24), se il codice
        ' ascii non rientra in quelli ammessi, lo imposto io
        ' su Zero, che è il carattere nullo.
        If KeyAscii < 48 And KeyAscii <> 24 And KeyAscii <> 8 Then
            KeyAscii = 0
        ElseIf KeyAscii > 57 Then
            KeyAscii = 0
        End If
 
        ' Aggiungo un'ulteriore finezza facendo in modo che lo
        ' zero sia ammesso, ma non come primo carattere, lo faccio
        ' controllando la lunghezza del testo
        If e.KeyChar = "0" And txtOnlyInteger.TextLength = 0 Then
            KeyAscii = 0
        End If
 
        ' Alla fine reimposto il KeyChar, che sarà uguale a zero
        ' per i caratteri non consentiti (e quindi nella TextBox
        ' non comparirà nulla)
        e.KeyChar = Chr(KeyAscii)
 
    End Sub